package com.negocio.beans;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import com.negocio.dao.QuestaoDAO;
import com.negocio.entidades.Questao;
import com.negocio.facade.QuestaoRemote;


@Stateless
@LocalBean
public class QuestaoBean implements QuestaoRemote {
	
	@PersistenceContext(unitName = "SystemgedBD")
	private EntityManager em;
	

	@Override
	public Questao salvar(Questao q) throws Exception {
		String temas = q.getTemas();
		if (temas.trim().length() > 0) {
			if (temas.charAt(0) != '#') {
				temas = "#" + temas;
			}
			if (temas.charAt(temas.length() - 1) != '#')
				temas += "#";
			q.setTemas(temas.trim().replace("#", " #"));
			q.setTemas(temas.replace("  ", " ").trim());
		}

		String opcoes = q.getOpcoes();
		if (opcoes.trim().length() > 0) {
			if (opcoes.charAt(0) != '#') {
				opcoes = "#" + opcoes;
			}
			if (opcoes.charAt(opcoes.length() - 1) != '#')
				opcoes += "#";
		}
		q.setOpcoes(opcoes.trim().replace("#", " #"));
		q.setOpcoes(opcoes.replace("  ", " ").trim());

		QuestaoDAO dao = new QuestaoDAO(em);
		return dao.salvar(q);
	}

	@Override
	public void excluir(long id) {
		QuestaoDAO dao = new QuestaoDAO(em);
		dao.excluir(id);
		
	}

	@Override
	public Questao consultarPorId(long id) {
		QuestaoDAO dao = new QuestaoDAO(em);
		return dao.consultarPorId(id);
	}

	@Override
	public List<Questao> listar() {
		QuestaoDAO dao = new QuestaoDAO(em);
		List<Questao> questao = new ArrayList<Questao>();
		questao = dao.listar();
		return questao;
	}

}
